//**************************************
//***  以下函数是JS公用函数
//**************************************
var CONST_STRDOC="document.";

/*
 * 函数功能：删除左右两端的空格
 *
 */
String.prototype.trim = function()
{
	return this.replace(/(^\s*)|(\s*$)/g, "");
}

/*
 * 函数功能：跳转至其他页面
 *
 */
function gotoPage(url)
{
    location.href = url;
}

/*
 * 函数功能：跳转至其他页面,并传页面参数
 *
 * Parameter url -- 跳转的链接;
 *           paraName -- 要传的参数的参数名称;
 *           paraValue -- 要传的参数的参数值;
 *
 * 例：gotoPage('XXX.do','orderName','ActNo');
 *     gotoPage('XXX.do','orderName|orderName1|PageNum','ActNo|ibknum|3');
 *
 */
function gotoPageByPara(url,paraName,paraValue) 
{
	var urlHavePara = false;
	
	if (url.indexOf("?") != -1)
		urlHavePara = true;
		
    if(paraName.indexOf("|") == -1)
    	if (urlHavePara)
	        location.href = url + "&" + paraName + "=" + paraValue ;
	    else
	    	location.href = url + "?" + paraName + "=" + paraValue ;
    else
    {
        nameArr = paraName.split("|");
        paraArr = paraValue.split("|");
        
        var paraStr = "";
        
        for(var i = 0; i < nameArr.length; i++)
        {
            if (i == 0 && !urlHavePara)
                paraStr = "?" + nameArr[i] + "=" + paraArr[i];
            else    
                paraStr += "&" + nameArr[i] + "=" + paraArr[i];
        }
        
        location.href = url + paraStr;
    }	
}

/*
 * 函数功能：打印当前页面,并屏蔽打印按钮(如果存在ID为dataDiv的DIV则屏蔽)
 *
 */
function printPage()
{
    var data = eval(CONST_STRDOC + "all.dataDiv")
    var prt = eval(CONST_STRDOC + "all.printDiv")
    data.style.display = "none";
    prt.style.display = "";
    window.print();
    data.style.display = "";
    prt.style.display = "none";
}


/*
 * 函数功能：用某字符串替换指定字符串中的某字符串
 *
 * Parameter str -- 需处理的带有待替换字串的字符串;
 *           str_s -- 需查找的待替换的字符串;
 *           str_d -- 进行替换的字符串;
 *
 * Return 字符串 -- 替换后的字符串
 *
 * 例子：replace("壹仟零零叁","零零","零")
 *       返回字符串：壹仟零叁
 */
function replace(str,str_s,str_d)
{
    var pos=str.indexOf(str_s);
    
    if (pos==-1)
        return str;
    
    var twopart=str.split(str_s);
    var ret=twopart[0];
    
    for(pos=1;pos<twopart.length;pos++)
        ret=ret+str_d+twopart[pos];
    
    return ret;
}

/*
 * 函数功能：disable当前页的所有下拉菜单
 */
function disableAllSelect()
{
    var obj = document.getElementsByTagName("SELECT");

	for(var i = 0; i < obj.length; i++)
	{
		obj[i].style.display = "none";
	}
}

/*
 * 函数功能：enable当前页的所有下拉菜单
 */
function enableAllSelect()
{
    var obj = document.getElementsByTagName("SELECT");

	for(var i = 0; i < obj.length; i++)
	{
		obj[i].style.display = "";
	}
}

/*
 * 函数功能：将日期数据转换为字符串
 *
 * Parameter datePara -- 日期型数据;
 *			 splitReg -- 分隔符
 *
 * Return 按照分隔符分隔的日期字符串。
 *
 */
function date2string(datePara,splitReg)
{
    var lMonth = datePara.getMonth() + 1;
    lMonth = (lMonth < 10 ? "0" + lMonth : lMonth);

    var lDate = datePara.getDate();
    lDate = (lDate < 10 ? "0" + lDate : lDate);

    return datePara.getFullYear() + splitReg + lMonth + splitReg + lDate;
}

/*
 * 函数功能：提交后将所有按钮失效，保证页面表单数据只能提交一次，提交前不做任何检查
 *
 * Parameter objForm -- 表单元素,一般用document.form1;
 *           actionName -- 要提交的action名称
 *
 * 例子：  onClick="return commonSubmit(document.form1,'11.htm',)"
 */
function commonSubmit(objForm,actionName)
{
    for(var i = 0; i < objForm.elements.length; i++)
    {
        if (objForm.elements[i].type == undefined) continue;
        if (objForm.elements[i].type.toLowerCase() == "submit" 
            || objForm.elements[i].type.toLowerCase() == "button"
            || objForm.elements[i].type.toLowerCase() == "reset")
        {
            objForm.elements[i].disabled = true;
        }
    }

    objForm.action = actionName;
    objForm.submit();
}

/*
 * 函数功能：得到日期的增减
 *
 * Parameter strInterval -- d:按天;m:按月;y:按年;
 *			 dateStr -- 起始日期,date对象或者yyyy/MM/dd格式
 *			 Number -- 日期增减的量,支持正负
 *
 * Return 按照分隔符分隔的日期字符串。
 *
 */
function addDate(strInterval, dateStr, numberPara) 
{    
    var dtTmp = new Date(Date.parse(dateStr));
    switch (strInterval) 
    {    
        case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * numberPara));
        case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + numberPara, dtTmp.getDate());
        case 'y' :return new Date((dtTmp.getFullYear() + numberPara), dtTmp.getMonth(), dtTmp.getDate());
    }   
}

/*
 * 函数功能：弹出一个窗口
 *
 * Parameter urlstr: 交易名
 *           
 */
function openUrl(surl){
	var newwin = window.open('','_blank','scrollbars=1,resizable=1,left=0,top=0,width=660,height=522');
	newwin.location=surl;
	newwin.focus();
	return;
}

/*
 * 函数功能：弹出一个模态的对话框
 *
 * Parameter urlstr: 交易名
 *           wid:    宽
 *           height: 高  
 */
function openDialog(urlstr,wid,height) {  
	var rValue = window.showModalDialog(urlstr, "newwindow", "dialogWidth:" + wid + "px;dialogHeight:" + height + "px;center:yes;status=no");
	return rValue;
}

/*
 * 函数功能：弹出一个非模态的对话框
 *
 * Parameter urlstr: 交易名
 *           wid:    宽
 *           height: 高  
 */
function openShowDialog(urlstr,wid,height) {  
	window.showModelessDialog(urlstr, "showwindow", "dialogWidth:" + wid + "px;dialogHeight:" + height + "px;center:yes;status=no;scroll=no;resizable=no");
}

/*
 * 函数功能：将焦点设置在某控件上
 *
 * Parameter id: 控件Id
 */
function setFocus(id) {
    var e = document.getElementById(id);
    e.focus();   
}

/*
 * 函数功能：将input对象里的text全选
 *
 * Parameter obj: 对象
 */
function setSelected(obj) {
    obj.select();
}

/*
 * 函数功能：将2个数字做加法
 *
 */
function doSumNumber(strX,strY) {
	var arrX = strX.toArray();
	var arrY = strY.toArray();
	
	var result = new Array();
	for (i=0;i<=arrX.length;i++) {
	    result[i] = "0";
	}
	var k = arrX.length-1;
	getCurrentNum(result,k,arrX,arrY,0);
    var temp = "";
    if (result[0!="0"]) {
        temp=temp+result[0];
    }
    for (i=1;i<result.length;i++) {
        temp = temp +result[i];
    }
	return temp;
}

function getCurrentNum(result,index,arrX,arrY,offNum) {

    x = parseInt(arrX[index]);
	y = parseInt(arrY[index]);
	z = parseInt(result[index+1]);

    m = x+y+z+offNum;
    k = 0;
    if (m<10) {
        result[index+1]=m.toString();
    }else {
      n = m.toString().toArray();
      result[index+1]=n[1];
      k=parseInt(n[0]);
    }
    if (index>0) {
      c = index-1;
      getCurrentNum(result,c,arrX,arrY,k);
    }
}

/*
 * 函数功能：将2个数字做减法 strY-strX
 *
 */
function doSubNumber(strX,strY) {
	var arrX = strX.toArray();
	var arrY = strY.toArray();
	
	var result = new Array();
	for (i=0;i<arrY.length;i++) {
	    result[i] = "0";
	}
	var k = arrY.length-1;
	getLastNum(result,k,arrX,arrY,0);
    var temp = "";
    for (i=0;i<result.length;i++) {
        temp = temp +result[i];
    }
	return temp;
}

function getLastNum(result,index,arrX,arrY,offNum) {

    x = parseInt(arrX[index]);
	y = parseInt(arrY[index]);
	z = parseInt(result[index]);

    m = y-x-z-offNum;
    k = 0;
    if (m>0) {
        result[index]=m.toString();
    }else if (m==0) {
        result[index]="0";
    }else {
      result[index]=m+10
      k=1;
    }
    if (index>0) {
      c = index-1;
      getLastNum(result,c,arrX,arrY,k);
    }else {
      if (k==1) {
          result[0] = parseInt(result[0])-1;
      }
    }
}




function closeCompanyName() {
	$("#companyList")[0].style.display="none";//.show();
}

function setCompanyName() {
	var id =$("input[name='companyId']:checked").val();
	var companyName = document.forms.company['compName'+id].value;
	var companyAddr = document.forms.company['compAddr'+id].value;
	$("#companyInput").val(companyName);
	$("#companyAddrInput").val(companyAddr);
	$("#companyIdInput").val(id);
	$("#companyList")[0].style.display="none";
}
